package com.platform.modules.mall.activity.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.platform.modules.mall.activity.entity.bo.*;
import com.platform.modules.mall.activityV2.entity.ParticipantBo;
import com.platform.modules.mall.activityV2.entity.WinnerBo;
import com.platform.modules.mall.entity.MallGoodsEntity;
import com.platform.modules.mall.entity.MallOrderEntity;

import java.util.List;

public interface GoShoppingService {

    /**
     * 领取商品
     * @param bo
     * @return
     */
    ActivityOrderVo goShopping(ActivityGoshoppingBo bo);

    /**
     *
     * @param bo    参与抽奖的用户信息：参加的活动、手机、选中的商品id
     * @return      返回中奖对象：抽中的商品、剩余次数、可选商品
     */
    WinnerBo goShoppingTow(ActivityGoshoppingBo bo);

    /**
     * 获取活动相关信息
     * @param bo
     * @return
     */
    ActivityInfoVo activityInfo(ActivityGoshoppingBo bo);

    /**
     * 验证用户是否有活动资格
     * @param bo
     * @return
     */
    ActivityVerifyVo activityVerify(ActivityGoshoppingBo bo);


    ParticipantBo activityVerifyTwo(ActivityGoshoppingBo bo);
    /**
     * 获取活动所有的订单信息
     * @param bo
     * @return
     */
    List<ActivityRecordVo> activityRecord(ActivityGoshoppingBo bo);

    MallOrderEntity paySuccess(MallOrderEntity orderEntity);

    MallOrderEntity directPayOfGoods(DirectGoShoppingBo bo);

    /**
     * 取消订单
     */
    MallOrderEntity cancelOrder(MallOrderEntity orderEntity);

}
